package com.gable.report.dao;


import com.gable.report.model.ChartsAssetsMaintainInfoView;
import com.gable.report.model.ChartsForMaintainRecord;
import com.gable.report.model.ChartsMaintainInfoView;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * Created by lvdouStart on 2017/7/26.
 * 区报表维修dao层接口
 */
public interface IChartsForAreaMaintainDao {


    /** 
     * @Author: 杨青桦
     * @Description:  所有资产的情况
     * @Date: 2017/7/26 14:33
     * @param map
     * @return
     */
    ChartsMaintainInfoView queryAllAssets(Map map);

    
    /** 
     * @Author: 杨青桦
     * @Description: 查询指定维修大小的情况
     * @Date: 2017/8/6 12:07
     * @param map
     * @return
     */
    Map<String,Object> queryMaintainSizeInfo(Map map);

    /**
     * @Author: 杨青桦
     * @Description: 医院维修金额相关
     * @Date: 2018/6/26 15:19
     * @param map
     * @return
     */
    List<ChartsMaintainInfoView> queryHospitalsWithCost(Map map);


    /**
     * @Author: 杨青桦
     * @Description: 医院维修维护相关
     * @Date: 2018/6/26 15:19
     * @param map
     * @return
     */
    List<ChartsMaintainInfoView> queryHospitalsWithMaintenance(Map map);


    /**
     * @Author: 杨青桦
     * @Description:  医院维修时间相关
     * @Date: 2018/6/27 13:47
     * @param map
     * @return
     */
    List<ChartsMaintainInfoView> queryHospitalsWithTime(Map map);

    /**
     * @Author: 杨青桦
     * @Description:  设备类型维修费用相关
     * @Date: 2018/6/27 14:33
     * @param map
     * @return
     */
    List<ChartsMaintainInfoView> queryDeviceTypesWithCost(Map map);


    /**
     * @Author: 杨青桦
     * @Description:  设备类型维修时间相关
     * @Date: 2018/6/27 14:33
     * @param map
     * @return
     */
    List<ChartsMaintainInfoView> queryDeviceTypesWithTime(Map map);


    /**
     * @Author: 杨青桦
     * @Description:  设备类型维修维护相关
     * @Date: 2018/6/27 14:33
     * @param map
     * @return
     */
    List<ChartsMaintainInfoView> queryDeviceTypesWithMaintenance(Map map);


    /** 
     * @Author: 杨青桦
     * @Description:  设备型号
     * @Date: 2017/7/27 12:07
     * @param map
     * @return
     */
    List<ChartsMaintainInfoView> queryDeviceModelsWithCost(Map map);


    /**
     * @Author: 杨青桦
     * @Description:  设备型号
     * @Date: 2017/7/27 12:07
     * @param map
     * @return
     */
    List<ChartsMaintainInfoView> queryDeviceModelsWithMaintenance(Map map);




    /**
     * @Author: 杨青桦
     * @Description:  设备型号
     * @Date: 2017/7/27 12:07
     * @param map
     * @return
     */
    List<ChartsMaintainInfoView> queryDeviceModelsWithTime(Map map);



    /** 
     * @Author: 杨青桦
     * @Description:  根据设备型号查找具体设备
     * @Date: 2017/7/28 17:19
     * @param map
     * @return
     */
    List<ChartsAssetsMaintainInfoView> queryDeviceInfoByModelName(Map map);

    /**
     * @Author: 杨青桦
     * @Description:  设备厂家
     * @Date: 2017/7/26 16:12
     * @param map
     * @return
     */
    List<ChartsMaintainInfoView> queryDeviceBrandsWithTime(Map map);

    /**
     * @Author: 杨青桦
     * @Description:  设备厂家
     * @Date: 2017/7/26 16:12
     * @param map
     * @return
     */
    List<ChartsMaintainInfoView> queryDeviceBrandsWithCost(Map map);



    /**
     * @Author: 杨青桦
     * @Description:  设备厂家
     * @Date: 2017/7/26 16:12
     * @param map
     * @return
     */
    List<ChartsMaintainInfoView> queryDeviceBrandsWithMaintenance(Map map);

    
    /** 
     * @Author: 杨青桦
     * @Description: 月份显示
     * @Date: 2017/7/27 15:02
     * @param map
     * @return
     */
    List<ChartsMaintainInfoView> queryForMonth(Map map);

    /**
     * @Author: 杨青桦
     * @Description:  删除月份临时表
     * @Date: 2018/6/29 16:51
     * @return
     */
    int deleteMonthTemp(@Param("userId")Long userId);

    /**
     * @Author: 杨青桦
     * @Description:  生成月份临时表
     * @Date: 2018/6/29 16:52
     * @param map
     * @return
     */
    int insertMonthTemp(Map map);

    /**
     * @Author: 杨青桦
     * @Description:  删除通用临时表
     * @Date: 2018/6/29 16:51
     * @return
     */
    int deleteCommonTemp(@Param("userId")Long userId);

    /**
     * @Author: 杨青桦
     * @Description:  生成通用临时表
     * @Date: 2018/6/29 16:52
     * @param map
     * @return
     */
    int insertCommonTemp(Map map);
    /**
     * @Author: 杨青桦
     * @Description:  删除通用临时表
     * @Date: 2018/6/29 16:51
     * @return
     */
    int deleteAssetsTemp(@Param("userId") Long userId);

    /**
     * @Author: 杨青桦
     * @Description:  生成通用临时表
     * @Date: 2018/6/29 16:52
     * @param map
     * @return
     */
    int insertAssetsTemp(Map map);


    /**
     * @Author: 杨青桦
     * @Description: 查询具体的维修记录
     * @Date: 2017/8/25 14:42
     * @param map
     * @return
     */
    List<ChartsForMaintainRecord> queryMaintainRecord(Map map);


    /**
     * @Author: 杨青桦
     * @Description:  查询宕机记录
     * @Date: 2018/6/29 16:42
     * @param map
     * @return
     */
    List<ChartsForMaintainRecord> queryHaltRecord(Map map);
}
